﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Business_Entity;
using Business_Logic;

namespace PetSoft.GUI.Clinica
{
    public partial class GUIBuscarCitaMedica : Form
    {

        private List<BECitaMedica> gridCitas;

        public GUIBuscarCitaMedica()
        {
            gridCitas = new List<BECitaMedica>();
            
            InitializeComponent();
        }

        private void llenarGrid()
        {
        	 try{
	        	//gridCitas = BLCitaMedica.getCitas(int.Parse(this.clienteTB.Text), int.Parse(this.mascotaTB.Text), this.tipoDeCitaCB.SelectedText,int.Parse(this.textBox1.Text), this.estadoCB.SelectedText);

    	
	        	grid.Rows.Clear();
            
           
            	foreach (BECitaMedica cita in gridCitas)
                {
            	    grid.Rows.Add(new Object[]{
                    cita.Mascota.Dueno.Nombre,
                    cita.Mascota.Nombre,
                    cita.TipoAtencion.Nombre,
                    "Carlos Pérez",
                    "Registrado",
                    cita.Fecha
                    });
            	}
            }
            catch {
            	MessageBox.Show("No se encontraron resultados para sus criterios de busqueda","Aviso");
            }
            
            
        }

        private void mascotaLB_Click(object sender, EventArgs e)
        {

        }

        private void tipoDeCitaLB_Click(object sender, EventArgs e)
        {

        }
        
        private void GUIBuscarCitaMedica_Load(object sender, EventArgs e)
        {
            foreach (BETipoServicio a in BLTipoAtencion.getTiposAtencion())
            {
                tipoDeCitaCB.Items.Add(a.Nombre);
            }
        }

        private void aceptarBTN_Click(object sender, EventArgs e)
        {
            llenarGrid();
        }

        private void crearBTN_Click(object sender, EventArgs e)
        {
            GUIEditarCitaMedica formEditar = new GUIEditarCitaMedica(null);
            formEditar.ShowDialog(this);
        }

        private void grid_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void editarBTN_Click(object sender, EventArgs e)
        {
            BECitaMedica cita;

            if (gridCitas == null || gridCitas.Count == 0)
            {
                return;
            }
            else
            {
                int i = grid.SelectedRows[0].Index;
                cita = gridCitas[i];
            }
            GUIEditarCitaMedica formEditar = new GUIEditarCitaMedica(cita);
            formEditar.ShowDialog(this);
        }



        private void eliminarBTN_Click(object sender, EventArgs e)
        {
            List<int> idsEliminar = new List<int>();
            for (int i=0; i<grid.Rows.Count; i++)
            {

                DataGridViewRow row = grid.Rows[i];

                if (row.Cells[5].Value != null)
                {
                    idsEliminar.Add((int)i);
                }
            }

            BLCitaMedica.anularCitas(idsEliminar);

            llenarGrid();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            RRHH.GUIBuscarEmpleado v = new RRHH.GUIBuscarEmpleado();
            v.ShowDialog(this);
            try {
            	this.textBox1.Text = v.Empleado.IdEmpleado.ToString();
            }
            catch {
            	this.textBox1.Text = "";
            }
        }

        private void buscarMascotaBTN_Click(object sender, EventArgs e)
        {
            Ventas.GUIBuscarMascota v = new Ventas.GUIBuscarMascota();
            v.ShowDialog(this);
        }

        private void buscarClienteBTN_Click(object sender, EventArgs e)
        {
            Ventas.GUIBuscarCliente v = new Ventas.GUIBuscarCliente(false);
            v.ShowDialog(this);
            try{
               	this.clienteTB.Text = v.ClienteSeleccionado.IdCliente.ToString();
            }
            catch {
            	this.clienteTB.Text = "";
            }
        }
        
        
        
        void TextBox1TextChanged(object sender, EventArgs e)
        {
        	
        }
    }
}
